package com.gsnd.gsnd22estore.service;

import com.gsnd.gsnd22estore.dto.*;
import org.apache.ibatis.annotations.Mapper;

import javax.servlet.http.HttpServletRequest;

/**
 * 用户模块的业务逻辑接口
 */
@Mapper
public interface UserService {
    /**
     * 用户登录
     * @param userLd 登陆的对象
     * @return 加密后的token令牌组成的对象
     */
    LoginReturnDTO userLogin(UserLoginDTO userLd);

    /**
     * 获取当前登陆用户的详细信息
     * @return
     */
    UserDTO getUserInfo(HttpServletRequest request);

    /**
     * 用户注册
     * @param userRegisterDTO 获取的表单数据
     */
    void userRegister(UserRegisterDTO userRegisterDTO);

    void updatePassword(UpdatePasswordDTO updatePasswordDTO, HttpServletRequest request);

    void updateUser(UpdateUserDTO updateUserDTO);
}
